package runt.rnc.services;

import andisoft.uniandes.ecos.runt.services.RegistroConductoresBO;
import java.util.Collection;
import javax.ejb.Remote;

/**
 *
 * @author Hache
 */
@Remote
public interface IServiciosRegistroConductores {
    
    /**
     * Inicializa el bean de sesion
     * @param tipoIdetificacion identificacion del conductor
     * @param numeroIdentificacion numero de identificacion del conductor
     * @throws Exception En caso de error en el proceso
     */
     public void initialize(String tipoIdetificacion, String numeroIdentificacion) throws Exception;
     
     /**
      * Envía una petición de agregar un conductor al sistema
      * @param conductor El conductor a adicionar
      * @throws Exception En caso que algún error ocurra.
      */
     public void addConductor(RegistroConductoresBO conductor) throws Exception;
     
     /**
      * Envía una petición de eliminar un conductor del sistema
      * @param tipoIdetificacion Identificacion del conductor
      * @param numeroIdentificacion numero de identificacion del conductor
      * @throws Exception En caso que algún error ocurra.
      */
     public void removeConductor(String tipoIdetificacion, String numeroIdentificacion) throws Exception;
     
     /**
      * @return Retorna la colección de conductores.
      */
     public Collection<RegistroConductoresBO> getConductores() throws Exception;
     
     /**
      * Retorna los conductores dado el filtro nombre y apellido
      * @param nombres Nombres del conductor
      * @param apellidos Apellidos del conductor
      * @return La coleccion de conductores que cumplen el filtor
      */
     public Collection<RegistroConductoresBO> getConductores(String nombres, String apellidos) throws Exception;

}
